Generating customized surveys using third-party social networking information

ABSTRACT

Embodiments of the present disclosure relate to customizing an electronic survey using social networking information. One or more embodiments of a survey system receive social networking information associated with a respondent from a third-party social networking system in connection with a request to provide a survey to a client device of the respondent. One or more embodiments of the survey system use the social networking information to determine a plurality of survey questions for the electronic survey. Additionally, one or more embodiments of the survey generate a customized electronic survey to include the plurality of survey questions and then provide the customized survey to the respondent&#39;s client device.

BACKGROUND

Surveys often provide valuable information to entities about theinterests and personal information of people, such as customers oranother groups of people. By obtaining information about people or theirinterests, the entities can improve products or services, or providebetter products or services in the future. For instance, an entity(e.g., a commercial brand) can use electronic surveys to gauge theinterest in a specific topic from people who have interest in, or havepast experience with, a product or service of the entity. Surveyresponses can allow the entity to use the interests and other detailsabout the respondents for improving the entity's product/service or fortargeting new audiences.

Survey response data is most useful with a greater number of data points(e.g., more responses) so that entities can more accurately improve aproduct or service for large groups of people. To target a large groupof respondents, conventional systems typically provide broad surveysincluding general questions that apply to a large number of people.Specifically, conventional systems receive a set list of questions toprovide to every respondent of the survey. By providing a general surveyto the large audience (i.e., a “one-survey-fits-all” approach),conventional systems can obtain a large dataset of response information.

The one-survey-fits-all approach of conventional systems are inflexible.For example, the generic inflexibility of conventional systems leads tolonger survey administration times. Indeed, because the conventionalsystems provide a broad and set list of questions to every respondent,the conventional systems often administer a number of questions that areuseless or irrelevant to many of the different respondents. Furthermore,the one-survey-fits-all-approach can also result in administeringredundant questions (e.g., redundant follow-up questions for differentlead-in questions).

Additionally, the lack of flexibility of conventional systems furtherresults in increasing the amount of processing and networking resourcesof survey administration devices and/or respondent devices. Inparticular, including the same questions of all respondents in theone-survey-fits-all approach, the conventional systems receive largeamounts of response data from the respondents. This can lead to largermemory requirements for the survey systems for storing the responsedata. In addition, the large amounts of response data can lead to longerprocessing times when providing summaries or other analysis of theresponse data to survey administrators.

The lack of flexibility of the conventional systems also results inresponse data that is less useful or misleading. As mentioned, byproviding the same set of questions to every respondent across a largenumber of respondents, conventional surveys provide useless or redundantquestions and/or have long administration times. For long surveys withirrelevant questions, some respondents either end the surveys early orprovide bad answers (e.g., by lying or not paying attention to thequestions). Thus, the conventional systems can receive misleadingresponse data that does not accurately reflect the true sentiment of therespondents. Incomplete or misleading response data then takes upadditional computing resources without providing any benefit, especiallywhen dealing with large amounts of response data, making it difficult tofilter and find useful response data.

Accordingly, these and other disadvantages exist with respect toconventional systems that provide electronic surveys.

SUMMARY

Embodiments of the present disclosure provide benefits and/or solve oneor more of the foregoing or other problems in the art with systems,methods, and computer readable storage media for customizing electronicsurveys for individual respondents. In particular, the systems, methods,and computer readable storage media use social network information abouta respondent to customize an electronic survey for the respondent. Insome embodiments, the systems, methods, and computer readable storagemedia use the social networking information to determine a plurality ofelectronic survey questions for the electronic survey on a perrespondent basis. Additionally, the systems, methods, and computerreadable storage media generate and administer a customized electronicsurvey including the plurality of electronic survey questions determinedon a per respondent basis based on the social networking information.

In some embodiments, the systems, methods, and computer readable storagemedia use the social networking information to modify a set of defaultelectronic survey questions. The systems, methods, and computer readablestorage media modify the set of default questions by removing one ormore questions from the set of default questions in response todetermining that the social networking information answers the one ormore questions. Moreover, the systems, methods, and computer readablestorage media modify the set of default questions by adding one or morequestions to the set of default questions by selecting or generatingquestions based on the social networking information (e.g., a questionbased on a user interest indicated in the social networkinginformation). Accordingly, in one or more embodiments, the systems,methods, and computer readable storage media customize the electronicsurvey for a respondent using information about the respondent or usinginformation about similar respondents.

Additional features and advantages of the embodiments will be set forthin the description that follows, and in part will be obvious from thedescription, or can be learned by the practice of such exemplaryembodiments. The features and advantages of such embodiments can berealized and obtained by means of the instruments and combinationsparticularly pointed out in the appended claims. These, and otherfeatures, will become more fully apparent from the following descriptionand appended claims, or can be learned by the practice of such exemplaryembodiments as set forth hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and otheradvantages and features of the disclosure can be obtained, a moreparticular description of the disclosure briefly described above will berendered by reference to specific embodiments thereof that areillustrated in the appended drawings. It should be noted that thefigures are not drawn to scale, and that elements of similar structureor function are generally represented by like reference numerals forillustrative purposes throughout the figures. Understanding that thesedrawings depict only typical embodiments of the disclosure and are nottherefore considered to be limiting of its scope, the disclosure will bedescribed and explained with additional specificity and detail throughthe use of the accompanying drawings, in which:

FIG. 1 illustrates a block diagram of a digital communicationenvironment in which an electronic survey system operates in accordancewith one or more embodiments;

FIG. 2 illustrates a sequence-flow diagram for customizing an electronicsurvey for a respondent using social networking information inaccordance with one or more embodiments;

FIG. 3 illustrates a flowchart of operations for generating anelectronic survey using social networking information in accordance withone or more embodiments;

FIGS. 4A-4D illustrate example graphical user interfaces for generatinga customizable electronic survey in accordance with one or moreembodiments;

FIGS. 5A-5H illustrate a flowchart and example graphical user interfacesfor administering a customizable electronic survey in accordance withone or more embodiments;

FIGS. 6A-6F illustrate a flowchart and example graphical user interfacesfor administering a customizable electronic survey in accordance withone or more embodiments;

FIG. 7 illustrates a flowchart of a series of acts in a method forcustomizing an electronic survey using social networking information inaccordance with one or more embodiments;

FIG. 8 illustrates a block diagram of the environment of FIG. 1 in whichan electronic survey system operates in accordance with one or moreembodiments;

FIG. 9 illustrates a block diagram of a computing device in accordancewith one or more embodiments; and

FIG. 10 illustrates a networking environment of an electronic surveysystem in accordance with one or more embodiments.

DETAILED DESCRIPTION

One or more embodiments disclosed herein provide an electronic surveysystem that generates custom electronic surveys based on obtaining andanalyzing respondent information from a user information source (e.g.,social networking information). In one or more embodiments, theelectronic survey system obtains and uses social networking informationassociated with a respondent via a third-party social networking systemto determine electronic survey questions to include in an electronicsurvey. For example, the electronic survey system analyzes the socialnetworking information to determine whether to exclude questions from,or add questions to, a set of default questions of the electronicsurvey. By modifying the set of default questions based on an individualrespondent's social networking information, the electronic survey systemcan tailor the electronic survey to the individual respondent byremoving unnecessary questions and asking questions that provide moreuseful and specific information to a survey administrator.

As briefly mentioned, the electronic survey system (or simply “surveysystem”) uses social networking information associated with a respondentto customize an electronic survey to administer to the respondent. Insome embodiments, the survey system provides an option to the respondentto provide permission to the survey system to access informationassociated with a social networking account of the respondent. Forexample, the survey system can provide a login screen by which therespondent can log in to the respondent's social networking account witha third-party social networking system. The survey system can thenautomatically request and obtain information about the respondent fromthe third-party social networking system, such as personal information,demographic information, interests, friends/associates, etc.

In one or more embodiments, the survey system uses the received socialnetworking information to generate a customized electronic survey forthe respondent. A survey administrator can create an electronic surveyhaving a set of default questions that include questions aimed atcollecting information about the respondent, opinions of the respondent,and other information. The survey system can then determine whether toexclude questions from or add questions to the set of default questionsfor the electronic survey based on the social networking information.Furthermore, the survey system can use the social networking informationto determine a question flow (order of questions, follow-up questions,branches, etc.) for the survey.

In one or more embodiments, the survey system determines whether toexclude any questions from the set of default questions within theelectronic survey. In particular, the social networking informationanalyzes the social networking information to determine whether thesocial networking information provides answers one or more defaultquestions. For example, the survey system can determine that the socialnetworking information includes geographic residence information thatanswers a question from the set of default questions asking forgeographic residence information. In such an case, the surveys systemcan automatically fill in an answer for that question using the socialnetworking information. Accordingly, in response to determining that thesocial networking information answers a default question, the surveysystem can exclude (e.g., skip) the answered default question whenproviding the survey to the respondent.

Additionally, the survey system determines whether to add any additionalquestions to the set of default questions. For instance, the surveysystem can analyze the social networking information to determineinterests or information associated with the respondent. The surveysystem can then determine one or more additional questions correspondingto the determined interests. The survey system can select a previouslygenerated question or generate a new question based on the determinedinterests/demographics. The survey system can also select/generate newquestions based on common interests or characteristics of the respondentand friends (e.g., via the third-party social networking system) orprevious respondents having similar characteristics (e.g., within asimilar demographic).

In one or more embodiments, the survey system also uses the connectionto the third-party social networking system to post response data to asocial networking account of the respondent. In particular, the surveysystem can post one or more responses from the survey to the socialnetworking account based on various criteria. For instance, the surveysystem can analyze the response information to determine whether theresponse information includes positive feedback (e.g., from a text inputresponse). The survey system can then post a response that includespositive feedback to the social networking account of the respondent.

As described herein, the survey system provides advantages overconventional systems and methods for providing electronic surveys.Specifically, the survey system improves a technological process relatedto customizing electronic surveys based on third-party social networkinginformation for a respondent. Indeed, in contrast to the inflexibleone-survey-fits-all approach of conventional systems, one or moreembodiments of the survey system improve the flexibility of electronicsurvey administration by customizing electronic surveys to respondentsbased on social networking information obtained from a third-partysocial networking system.

By modifying a set of questions provided to respondents based on thesocial networking information, the survey system improves flexibility ofan electronic survey administration process by providing each respondentwith a customized survey that includes questions tailored specificallyfor a respondent. In particular, excluding questions based on the socialnetworking information speeds up the electronic survey process. Thus, incontrast to the conventional systems, the survey system reduces surveyadministration times by eliminating unnecessary/redundant questions foreach respondent. More specifically, the survey system provides questionsbased on the social networking information, allowing the survey systemto obtain more specific and relevant response information from eachrespondent.

Additionally, the survey system improves upon conventional systems byreducing the amount of storage, processing, and networking resources ofcomputing devices during the administration process. For example, thesurvey system reduces storage requirements by customizing electronicsurveys to the individual respondents to include only relevant surveyquestions. Reducing survey length to provide only relevant questions foreach respondent reduces storage space required for response data overconventional systems. Furthermore, by including only questions that arerelevant to each respondent when administering electronic surveys, thesurvey system reduces both the amount of provided data and received datafor each electronic survey.

The survey system is also able to dynamically generate questions for anelectronic survey based on characteristics or other information about arespondent. Specifically, the survey system can generate a question inreal time that is unique to an individual respondent based on the socialnetworking information. This provides greater flexibility inadministering electronic surveys to individual respondents within alarge group of respondents without requiring an administrator togenerate every possible question (e.g., question prompt, answer optioncombination) beforehand.

Additionally, the survey system improves the accuracy of electronicsurvey administration processes by improving the relevance and accuracyof response data. As mentioned, conventional methods often result indata that is less useful or misleading due to the length and irrelevanceof the one-survey-fits-all approach. In contrast, the survey systemdescribed herein provides more accurate response data by shortening theadministration times and survey lengths for each respondent. Bycustomizing the surveys to the respondents using social networking data,the survey system reduces the amount of bad response data fromrespondents, thereby reducing the processing time for analyzing theresponse data and improving the accuracy of response data reported tosurvey administrators.

As used herein, the term “electronic survey” or simply “survey” refer toan electronic communication used to collect information. For example,the term survey can include an electronic communication in the form of apoll, questionnaire, census, or other type of sampling. To illustrate,an electronic survey can include an electronic communication thatincludes one or more electronic survey questions. A survey can includeelectronic questions selected from previously generated questions and/ornew questions (e.g., generated specifically for an instance of asurvey). Further, the term survey as used herein can generally refer toa method of requesting and collecting electronic data from respondentsvia an electronic communication distribution channel. A “customizedelectronic survey” or “customized survey” refers to an electronic surveythat the survey system has modified for a respondent by adding orremoving questions. As used herein, the term “respondent” refers to aperson or entity that participates in, and responds to, a survey. Also,as used herein, the term “administrator” refers to a person or entitythat creates and causes the administration of a survey through a surveysystem.

Additionally, as used herein, the term “electronic survey question,”“survey question,” or simply “question” refers to a prompt included in asurvey to invoke a response from a respondent. For example, a surveyquestion can include one of many different types of questions,including, but not limited to, perception, multiple choice, open-ended,ranking, scoring, summation, demographic, dichotomous, differential,cumulative, dropdown, matrix, net promoter score (NPS), single textbox,heat map, and any other type of prompt that can invoke a response from arespondent. A survey question can include a prompt portion as well as anavailable answer portion that corresponds to the survey question.

As used herein, the term “response” refers to electronic data arespondent provides with respect to an electronic survey question. Theelectronic data can include content and/or feedback from the respondentin response to a survey question. Depending on the question type, theresponse can include, but is not limited to, a selection, a text input,an indication of an answer selection, a user provided answer, and/or anattachment. For example, a response to a multiple choice survey questioncan include a single data point that indicates a selection of one answerfrom a plurality of possible answers in the multiple choice surveyquestion. Similarly, a response to a prompt to enter specificinformation (e.g., overall feedback for a product/service) can includetext data indicating the requested information.

FIG. 1 illustrates a digital communication environment 100 in which asurvey system 102 operates. The description associated with FIG. 1provides an overview of the digital communication environment 100 thatincludes the survey system 102. A more detailed description of thecomponents and processes of the survey system 102 are provided inrelation to the remaining figures. Specifically, FIG. 1 illustratesserver(s) 104 (or simply “server 104”), an administrator client device106, a respondent client device 108, and a third-party social networkingsystem 110. Each of the administrator client device 106 and respondentclient device 108 can be associated with users (e.g., an administratorand a respondent, respectively). As described in greater detail below,the server 104, the administrator client device 106, and/or therespondent client device 108 can perform or provide some or all of thefunctions and processes of the methods and systems described herein.

The devices in the digital communication environment 100 can communicatewith one or more other devices in the digital communication environment100. For example, the server 104, administrator client device 106, andthe respondent client device 108 can each communicate with every otherdevice the over a network 112. Furthermore, the server 104, theadministrator client device 106, and the respondent client device 108can communicate with the third-party social networking system 110.

In addition, the server 104, the administrator client device 106, andthe respondent client device 108 can be any type of computing device.For example, in one embodiment, the server 104 is a single servercomputing device. Alternatively, the server 104 includes a plurality ofserver computing devices, such as cloud-based server devices, serverdevices within a datacenter, and/or a plurality of server computingdevices connected via the network 112. Similarly, the administratorclient device 106 and the respondent client device 108 can be one ormore of any type of computing device that allow the administrator and/orrespondents, respectively, to perform the operations and functionsdescribed herein. Example computing devices can include mobile devices(e.g., smartphones, tablets, laptops, wearable devices), desktopdevices, and/or other types of devices. Additional details with respectto computing devices and the network 112 are discussed below withrespect to FIGS. 9-10.

Although FIG. 1 illustrates a particular arrangement of the server 104,administrator client device 106, respondent client device 108,third-party social networking system 110, and network 112, variousadditional arrangements are possible. For example, the administratorclient device 106 can directly communicate with the server 104 hostingthe survey system 102, bypassing the network 112. Further, while onlyone administrator client device 106 and one respondent client device 108are illustrated, the environment 100 can include any number ofadministrator client devices and respondent client devices.

Referring to FIG. 1, and as an overview of the survey system 102, theadministrator client device 106 can communicate with the server 104 tocause the survey system 102 to create an electronic survey that isdynamic and customizable. For instance, an administrator can use theadministrator application 114 to create an electronic survey on theserver 104 for providing to the respondent client device 108. Asdescribed in more detail below, creating an electronic survey that isdynamic and customizable can include generating the electronic survey tochange based on information about the respondent. Specifically, theadministrator can use a programming language to modify one or morequestions in the survey based on social networking information thesurvey system 102 obtains obtain from the third-party social networkingsystem 110.

As described in more detail below, the survey system 102 can customizean electronic survey for a respondent based on social networkinginformation associated with the respondent. For example, in connectionwith an electronic survey requested by a respondent of the respondentclient device 108, the respondent can access a social networking accountto provide social networking information to the survey system 102. Toillustrate, the respondent can use a client application 116 on therespondent client device 108 to request the survey and to connect thesurvey system 102 to the social networking system 110. The survey system102 can then customize the survey based on social networking informationassociated with the respondent and provide the customized survey to therespondent client device 108.

While FIG. 1 illustrates the use of the social networking system 110 toobtain information about respondents, the communication environment canaccess other services to obtain respondent information. For example, thesurvey system 102 can access third-party directory services, varioustypes of user databases (e.g., employment, government, school, or othersimilar type databases). In addition, the survey system 102 can accesspast survey response data maintained within the survey system to accessinformation about a respondent. For instance, if a respondent haspreviously answered a particular question, then the survey system canaccess previously provided responses to obtain information for use incustomizing an electronic survey as described herein. Accordingly,various embodiments below are discussed with respect to accessing asocial networking system for explanation purposes, but it is understoodthe the principles and features described herein are applicable to othersources of user information.

As used herein, the term “third-party social networking system” (orsimply “social networking system”) refers to a system that providessocial networking services to a plurality of users. In particular, asocial networking system includes a network that allows users to connectwith other users (e.g., friends, associates) and communicate with eachother. For example, a user of a social networking system can createsocial network posts to share with other users connected to the user.Additionally, the user can view social network posts of other users,such as within a social network feed.

As used herein, the term “social networking information” refers toinformation that the social networking system stores for a user of thesocial networking system 110. The social networking system 110 caninclude a user profile database 118 that stores user connectioninformation (e.g., relationships), user activity, characteristics of theuser, etc., in connection with the social networking system. As usedherein, “characteristics” refer to details that describe a user, such asdemographic information, interests, or other personal details. Thesocial networking information can also include characteristics of theuser's friends/associates for further customizing the survey. The socialnetworking system 110 can also tie social networking information for aspecific user to a social networking account in the user profiledatabase 118. The social networking account for a user can include anaccount that allows the user to access the social networking informationand communicate with other users of the social networking system. Theuser can access the social networking account by entering usercredentials (e.g., a username and password).

The survey system 102 can customize a survey by modifying a set ofdefault questions (e.g., a set of questions included with the survey inthe absence of social networking information). The survey system 102 canmodify the default questions by excluding questions, adding additional,previously generated questions, or even generating new questions basedon the social networking information. Additionally, the survey system102 can determine a question flow of the survey by determining aquestion order, follow-up questions, question branches, etc., based onthe social networking information associated with the respondent.

After generating a customized electronic survey, the survey system 102can provide the customized electronic survey to the respondent clientdevice 108. For example, the respondent can use the client application116 to access an electronic survey, provide responses to electronicsurvey questions, and otherwise and participate in an electronic survey.The respondent can then provide response information for the survey(e.g., via the client application 116, which can be a web browser,messaging application, email application, or other application) to thesurvey system 102. Based on user input that a respondent provides inresponse to a survey question (e.g., via an input device such as a touchscreen, keyboard, mouse), the respondent client device 108 providesresponse data to the survey system 102.

The survey system 102 can then provide the response data from therespondent client device 108 to the administrator client device 106. Forexample, the survey system 102 can aggregate response data from aplurality of respondents of a survey and provide the aggregated responsedata to the administrator client device 106. An administrator can thenuse the administrator application 114 to view the aggregated responsedata, create reports, or otherwise access and analyze response data.

The survey system 102 can also use the response data to improve surveycustomization. For instance, the survey system 102 can includemachine-learning or other intelligent survey customization processes tocustomize surveys (e.g., by creating new questions based on socialnetworking information). The survey system 102 can use the response datato further train or improve the intelligent survey customizationprocesses to create better questions for future respondents of thesurvey or for future electronic surveys.

FIG. 2 illustrates a sequence-flow diagram of a process for customizingan electronic survey for a respondent using social networkinginformation associated with the respondent. As illustrated, the server104 (with the survey system 102), administrator client device 200 (withadministrator application 202), respondent client device 204 (withclient application 206), and third-party social networking system 110(with user profile database 118) can correspond to the respectivedevices, applications, and components described above with respect toFIG. 1.

The process of FIG. 2 for customizing an electronic survey begins withan act 208 of an administrator generating an electronic survey at theadministrator client device 200. Specifically, the administrator cangenerate the electronic survey using the administrator application 202and by communicating with the survey system 102 on the server 104. Forexample, the administrator can generate a dynamic survey that the surveysystem 102 can customize for each respondent based on logic that theadministrator programs into the survey. To illustrate, the administratorcan use a web application hosted on the survey system to embed logicinto the survey for determining which questions to include (e.g.,JavaScript). The administrator can also embed logic into a promptportion and/or answer portion(s) of a question for dynamically modifyingthe question based on available information.

Generating the electronic survey can also include determining aplurality of questions to include in the electronic survey. As brieflymentioned previously, the administrator can create one or more defaultquestions for the survey in the absence of other information tocustomize the survey. For instance, the set of default questions caninclude questions requesting information about the respondent orinterests of the respondent. The administrator can then createadditional questions and provide survey logic that determines whether toadd questions to the default questions or to remove one or morequestions from the default questions.

After the administrator has generated the survey, the survey system 102can store the survey for providing to a plurality of potentialrespondents. As illustrated in FIG. 2, the respondent client device 204can perform an act 210 of requesting the survey from the survey system102. For example, the respondent client device 204 can request thesurvey for display within the client application 206. To illustrate, therequest can include a request by the respondent client device 204 tovisit or otherwise obtain data from a link (e.g., a URL) from an emailmessage or within a web page.

As part of the survey, the survey system 102 can also obtain socialnetworking information associated with the respondent. FIG. 2illustrates an act 212 of prompting the respondent to log in to a socialnetworking account. In one or more embodiments, the administratorincludes an initial question requesting the respondent to log in to asocial networking account of the respondent via the third-party socialnetworking system 110. For example, prior to displaying the survey, orat least a portion of the survey, the survey system 102 can provide theprompt to the respondent client device 204.

After receiving the prompt to log in to the social networking account(or other request to provide access to the social networkinginformation), the respondent can provide authentication information toallow access to the social networking account. In particular, FIG. 2illustrates an act 214 of the respondent providing login information tothe social networking account. For instance, the respondent can enter ausername and password associated with the respondent's social networkingaccount into one or more text fields corresponding to the prompt.

Alternatively, the respondent can provide the survey system 102 accessinformation associated with the social networking account via anauthentication token stored on the respondent client device 204. Forexample, the client application 206 can communicate with a socialnetworking application to obtain the login information to connect thesurvey system 102 to the social networking system 110. Thus, if therespondent client device 204 is already logged in to the socialnetworking account, the respondent may not be required to enter anyaddition information into the client application 206 to provide thesurvey system 102 with access to the social networking account of therespondent.

In response to the respondent logging in to the social networkingaccount and providing the survey system 102 with access to informationassociated with the social networking account, the social networkingsystem 110 can determine how much information to provide to the surveysystem 102. In particular, FIG. 2 illustrates an act 216 of determiningwhether the survey system 102 is a trusted entity. Specifically, thesurvey system 102 may obtain more information if the survey system 102is a trusted entity than if the survey system 102 is not a trustedentity. In at least some implementations, becoming a trusted entity caninclude establishing a relationship between the survey system 102 andthe social networking system 110 prior to the respondent logging in tothe social networking account. In other embodiments, the respondent canset the level of access to information associated with the socialnetworking account.

For example, to verify that the survey system 102 is a trusted entitywith the social networking system 110, the survey system 102 can embedan authentication token into the survey (e.g., into the prompt). Theauthentication token can include information that indicates the trustedrelationship, including an identity of the survey system 120. When therespondent logs in to the social networking account, the respondentclient device 204 then provides the authentication token to the socialnetworking system 110. The social networking system 110 can then verifythe received authentication token to determine that the survey system102 is a trusted entity.

As mentioned, the social networking system 110 can provide differentinformation if the survey system 102 is a trusted entity than if thesurvey system 102 is not a trusted entity. In one or more embodiments,the social networking system 110 provides a first set of information tothe survey system 102 in response to determining that the survey system102 is a trusted entity. In response to determining that the surveysystem 102 is not a trusted entity, the social networking system 110provides a second set of information that is different than the firstset of information. For instance, the first set can include socialnetworking information that is available to the respondent, whereas thesecond set can include social networking information that is availablefrom the respondent's public profile (e.g., information that the userhas designated as being visible to people who are not on therespondent's friend list).

In another example, when the survey system 102 is not a trusted entity,the social networking system 110 can provide basic details about therespondent that allows the survey system 102 to place the respondent ina demographic of similar respondents. To illustrate, in a non-limitingexample, the social networking system 110 can provide the respondent'sage, gender, location, or similar demographic details about therespondent. Conversely, when the survey system 102 is a trusted entity,the social networking system 110 can provide more detailed informationabout the respondent. For instance, the social networking system 110 canprovide detailed information about the respondent's social networkingactivity including, but not limited to, interests, likes, purchases,friends, followers, group memberships, and frequency of communicationwith other users.

Once the social networking system 110 has determined the trust level ofthe survey system 102, FIG. 2 illustrates that the social networkingsystem 110 performs an act 218 of providing social networkinginformation to the survey system 102 according to the determined trustlevel. In one or more embodiments, if the survey system 102 is a trustedentity, the social networking system 110 passes a token or otheridentifier with the social networking information to the survey system102 so that the survey system 102 can verify the authenticity of thesocial networking information. Furthermore, the social networking system110 can communicate directly with the survey system 102 to provide thesocial networking information or pass the social networking informationto the survey system 102 via the respondent client device 204, dependingon the established relationship of the systems and/or the coded logicfor the survey.

Using the social networking information from the social networkingsystem 110, FIG. 2 illustrates that the survey system 102 performs anact 220 of generating a survey using the social networking information.Specifically, generating the survey can include determining a pluralityof questions for the respondent based on the social networkinginformation. For example, the survey system 102 can determine a set ofdefault questions and then add to or remove from the set of defaultquestions based on the social networking information, as described inmore detail in FIG. 3.

As shown in FIG. 2, the survey system 102 can then perform an act 222 ofproviding the questions from the generated survey to the respondentclient device 204. In particular, the survey system 102 can provide thequestions to the respondent client device 204 for displaying within theclient application 206. For example, the survey system 102 can provide aplurality of questions to the respondent client device 204 at the sametime (e.g., in a single communication) in response to generating thesurvey. Alternatively, the survey system 102 can provide one or morequestions in separate communications, such as by providing an initialquestion or set of questions and then providing one or more additionalquestions after the respondent responds to the questions.

FIG. 2 further illustrates an act 224 of the respondent client device204 providing response data to the survey system 102. In particular, theresponse data includes responses to the questions of the survey. Forexample, the response data can include selected options, text input, orother types of possible response data based on the types of questions inthe survey. The respondent client device 204 can provide response datafor each question via the client application 206 after the respondentanswers each question or after each of a plurality of subsets ofquestions, or after the respondent answers all of the questions (i.e.,in a single communication).

Furthermore, FIG. 2 illustrates an act 228 of the survey system 102reporting survey statistics to the administrator client device 200.Specifically, the survey system 102 can generate a plurality of surveysfor a plurality of respondents based on social networking informationfor the plurality of respondents. As can be appreciated, the surveystatistics can include response data for a combination of default andcustomized surveys based on one or more respondents not providing accessto their social networking accounts and one or more respondentsproviding access to their social networking accounts. The surveystatistics can thus include different amounts of response data fordifferent questions based on how many surveys included the questions, aswell as based on how many respondents answered the questions included intheir surveys. The administrator can use the administrator application202 on the administrator client device 200 to view the surveystatistics.

As mentioned previously, generating an electronic survey can includemaking various determinations using social networking informationassociated with a respondent for excluding or including questions in thesurvey. FIG. 3 illustrates an embodiment of a flowchart of operationsfor generating an electronic survey using social networking information.In particular, FIG. 3 includes a plurality of acts for generating acustomized survey using the social networking information by modifying aset of default questions for the survey by excluding questions from oradding questions to the default questions in the survey.

As illustrated, FIG. 3 includes an act 302 of determining question(s) toexclude from the survey. In particular, the survey system 102 firstperforms an act 302 a of identifying a set of default questions for thesurvey, as previously described. For example, the set of defaultquestions can include information that the survey system 102 attempts tocollect for every respondent. The default questions can includequestions that allow the survey system 102 to, for instance, place therespondent into a specific demographic for comparing the response datato other respondents within the same demographic.

After identifying the set of default questions, FIG. 3 illustrates thatthe process includes an act 302 b of determining questions answeredusing the social networking information. Specifically, the survey system102 can analyze social networking information received from a socialnetworking system (e.g., social networking system 110) to identifyvarious details about the respondent. The survey system 102 can thencompare the identified details from the social networking information todetermine whether the details would answer one or more questions in theset of default questions. For instance, if the survey includes a defaultquestion requesting an age (e.g., an age range) of the respondent andthe social networking information includes the respondent's age, thesurvey system 102 can determine that the social networking informationanswers the corresponding question.

In the event the survey system 102 determines that the social networkinginformation answers the corresponding question, the survey system 102can automatically generate a response to the question without having theuser interact with the question. For instance, the survey system 102 canprovide the social networking information as the answer to the question(e.g., the survey system records the respondent's age as the answer to asurvey question asking for the respondent's age). The survey system 102can use the social networking information to generate responses forfree-form text questions, multiple choice questions, rank orderquestions, and other types of questions. In other words, the surveysystem 102 can analyze the social networking information to select fromone or more options within a multiple choice question, or alternatively,the survey system can generate text that includes social networkinginformation to create a response to a free-form text entry question.

After determining that the social networking information answers one ormore questions of the survey (or that the questions are not applicablebased on the social networking information), the process includes an act302 c of excluding the determine question(s) from the survey. Inparticular, the survey system 102 can remove the question(s) from theset of default questions provided to the respondent as part of thesurvey such that the respondent does not see the excluded questions. Asdiscussed above, the survey system 102 can store the identifiedinformation from the social networking information with thecorresponding questions (e.g., by automatically selecting or inputtingthe response data for the questions). Thus, the survey system 102 cantreat the question(s) as if the respondent already answered thequestions.

In addition to excluding questions based on the social networkinginformation, the survey system 102 can add questions to the set ofdefault questions based on the social networking information. FIG. 3illustrates an act 304 of selecting previously generated question(s) toadd to the set of default questions based on the social networkinginformation. For example, when creating the survey, an administrator cangenerate a plurality of questions that are not included in the set ofdefault questions.

In one or more embodiments, as illustrated in FIG. 3, selectingpreviously generated questions can first include an act 304 a ofdetermining characteristics of the respondent. For example, the surveysystem 102 can analyze the social networking information to determinethe characteristics by searching for keywords or phrases, identifyingtagged data, using natural language processing, or using other languageanalysis techniques. As previously mentioned, the characteristics caninclude details about the respondent, including interests, likes,activity, etc.

FIG. 3 also illustrates that selecting previously generated questionscan include an act 304 b of determining common characteristics withothers. For example, the social networking information can include therespondent's friend list, indicating other users of the socialnetworking system with which the respondent has a relationship. Thesurvey system 102 can also identify previous respondents of the surveywithin the friend list and/or within a similar demographic as therespondent. Once the survey system 102 has identified friends and/orother respondents, the survey system can identify common characteristicsamong the respondent and the friends/other respondents. In one or moreembodiments, identifying the common characteristics also involvesanalyzing social networking information associated with the friends orother respondents to determine common interests, likes, etc.

FIG. 3 further illustrates that selecting previously generated questionsincludes an act 304 c selecting existing questions based oncharacteristics of the respondent. In particular, the survey system 102can use the determine characteristics of the respondent to selectpreviously generated questions that include a request or querycorresponding to the determined characteristics. For example, the surveysystem 102 can select a question that is tagged with a specific interest(e.g., a specific product) that the survey system 102 determines theuser has based on the social networking information. Additionally, thesurvey system 102 can select a question that is tagged with acharacteristic that the respondent shares with a friend or previousrespondent, as determined by the survey system 102. The survey system102 can thus select any number of questions based on the characteristicsof the respondent and/or other people sharing common characteristicswith the respondent.

In addition to selecting previously generated questions to include inthe survey, FIG. 3 illustrates that the survey generation process caninclude an act 306 of generating new question(s) for the survey.Specifically, as mentioned, the survey system 102 can generate newquestions based on coded logic and/or intelligent question generationprocesses for a respondent in real-time based on the social networkinginformation. The survey system 102 can provide generated questions withany selected questions and default questions that the survey system 102determined for the survey. Additionally, the survey system 102 canselect previously generated questions or generate new questions in anyorder.

As illustrated in FIG. 3, the generation process can include an act 306a of determining custom options for dynamic questions. Morespecifically, a dynamic question can include a prompt portion that theadministrator or other user generated for a question and a dynamic setof options that can change based on the respondent's social networkinginformation. For example, the survey system 102 can determine acharacteristic of the respondent (or a friend or other respondent with acommon characteristic as the respondent) and then select one or moreoptions for an answer portion of a question based on the determinedcharacteristic. The survey system 102 can also fill in one or moreportions of a prompt portion based on the determined characteristic in adynamic question.

In one or more embodiments, as shown in FIG. 3, the generation processcan include an act 306 b of dynamically generating question(s) usingnatural language processing and machine learning. In particular, thesurvey system 102 can use a characteristic associated with therespondent and/or other respondents to generate a new question includinga prompt portion and a response portion. The survey system 102 cangenerate the prompt portion and the response portion based on a trainedmachine-learning model that uses the characteristic to intelligentlydetermine a question and possible responses to obtain specific responsedata from a respondent. As the survey system 102 generates newquestions, and respondents respond to generated questions, the surveysystem 102 can further train and improve the dynamic generationcapabilities of the survey system 102.

In addition to determining which questions to exclude from or include inthe survey, the survey generation process can also include an act 308 ofdetermining a question flow for the survey, as illustrated in FIG. 3.Specifically, when determining the question flow, the survey systemperforms an act 308 a of identifying the default, selected, andgenerated questions that the survey system 102 has identified for thesurvey. Accordingly, the survey system 102 identifies every question toinclude in the survey when providing the survey to the respondent.

Determining the question flow also includes an act 308 b of determiningan order of the questions based on question content and survey logic.For instance, the survey system 102 can determine which question toinclude first, and then determine which questions to include, in turn,after the first question. The question content assists the survey system102 in determining whether to include a given question as a subsequentquestion or a follow-up question to another question based on the themesof the questions (e.g., whether the order of questions provides acoherent, consistent experience for the respondent) and keywords.

The survey logic can also dictate which questions to include in whichorder based on a branching logic for the survey. In particular, thesurvey system 102 can determine that newly selected questions and/ornewly generated questions make sense (in terms of content) to includeafter, or before, other questions within the survey. For example, thesurvey system 102 can determine whether to take a first branching pathof questions based on the respondent having a first characteristic and asecond branching path based on the respondent having a differentcharacteristic or a lack of the first characteristic.

Once the survey system 102 has generated an electronic survey, thesurvey system 102 can provide the survey to a plurality of respondentsand receive response data from the respondents. By using socialnetworking information for a plurality of respondents, the survey system102 can customize the survey using the processes illustrated in FIG. 2and FIG. 3 to generate different surveys for the respondents (ordifferent surveys for groups of respondents). Accordingly, the responsedata can reflect the different surveys by including different responsedata for the different question sets from the different respondents orgroups of respondents.

As previously mentioned, the survey system 102 can allow anadministrator to generate a survey using an administrator application(e.g., administrator application 114). FIGS. 4A-4D illustrate examplegraphical user interfaces (“GUIs”) on an administrator client device400. The GUIs provide various views of a client application on theadministrator client device 400 for creating a customizable survey usingsocial networking information for a respondent. In particular, theclient application of FIGS. 4A-4D can include an administratorapplication (e.g., administrator application 114) that allows anadministrator to create dynamic survey questions using a programminglanguage. Furthermore, the client application can allow theadministrator to establish additional survey logic using the programminglanguage for customizing the question flow of the survey.

In one or more embodiments, the administrator client device 400 includesa desktop computing device. Although the administrator client device 400of FIGS. 4A-4D is illustrated as a desktop computing device, theadministrator client device 400 can be another type of computing devicethat allows the administrator to perform operations associated withgenerating an electronic survey using a programming language. Forexample, the administrator client device 400 can be a mobile device(e.g., tablet, smartphone) or laptop device.

With reference to FIG. 4A, the administrator client device 400 includesan administrator application 402 that allows an administrator togenerate an electronic survey with a plurality of electronic surveyquestions. In one or more embodiments, the administrator application 402is a web browser that accesses a web application of the survey system102, where the administrator can log into an administrator account ofthe survey system 102 to create new surveys and view/edit previouslycreated surveys.

With reference to FIG. 4A, the administrator client device 400 includesan administrator application 402 that allows an administrator to createa survey, including one or more survey questions. Specifically, theadministrator application 402 includes a creation interface 404 thatdisplays survey questions and options associated with the surveyquestions. The creation interface 404 allows an administrator creating asurvey to create and modify one or more survey questions in a survey.For example, the creation interface 404 can include a question section406 that displays the survey questions in a survey. The question section406 allows the administrator to create questions, edit questions, anddelete questions in a survey.

In one or more embodiments, the creation interface 404 allows anadministrator to create a new question by selecting an option to createa new question. In one or more embodiments, if the survey does notalready include a question, the creation interface 404 provides adefault question with default content. For example, the default contentcan include brief instructions on how to replace the default contentwith text for the survey question. The administrator can interact withthe default content to replace the default content with question text ina question field and answers for the question in one or more answerfields, depending on the question and question type.

Additionally, the creation interface 404 allows an administrator to editan existing question in the question section 406. For instance, thecreation interface 404 can allow the administrator to edit the text ineither the question field or the answer field(s) to modify the contentof the survey question. To illustrate, the administrator may modify thequestion field and/or the answer field(s) to reduce ambiguity in thequestion or answer(s) and to improve the understandability of thequestion. Alternatively, the administrator can delete a question fromthe survey by interacting with a deletion element for the question inthe creation interface 404. The creation interface 404 also allows theadministrator to change the order of the questions within the questionsection 406.

As previously described, in connection with an electronic survey, thesurvey system 102 can request a respondent to provide social networkinginformation to the survey system 102. As illustrated in FIG. 4A, such arequest can be part of the survey. Specifically, the administrator cancreate a question that requests the social networking information fromthe respondent. While FIG. 4A illustrates the request as being a firstquestion 408 (after an introductory, informational question in thesurvey with no answer portion), the request can be inserted at any timeprior to a portion of the survey that is customizable. For instance, therequest can be prior to a set of questions that may be altered based onthe social networking information. Alternatively, the request may beprovided by the survey system 102 in connection with the survey withoutbeing a question that the administrator creates or otherwise includes inthe survey.

After the question that requests the social networking information fromthe respondent, the administrator can also insert a dynamic questionthat the administrator uses to verify the accuracy of the socialnetworking information (e.g., in case the respondent has not updated thesocial networking information recently). Specifically, FIG. 4Billustrates a second question 410 that includes variable fields thatautomatically populate with available social networking information forthe respondent. As shown, the administrator can use (or cause the surveysystem 102 to implement) a programming language such as JavaScript (orother language for interacting with an application programming interfaceof the third-party social networking system) to indicate to the surveysystem 102 one or more fields to populate with specific data from thesocial networking information. To illustrate, the second question 410includes general information about the respondent, which may include,but is not limited to, contact information, gender, relationship status,political affiliation, location, education information, workinformation, race, or other information that may be available from thesocial networking account of the respondent.

As illustrated in FIG. 4B, the administrator can use a plurality of tagsthat correspond to various types of data from the social networkinginformation. As briefly mentioned previously, the survey system 102 cananalyze social networking information to determine specificcharacteristics of the respondent. Using tags to identify the variouscharacteristics can allow the survey system 102 to quickly identify andreuse the characteristics across one or more questions, determiningwhether to exclude or include one or more questions, and in reportingsurvey statistics. Accordingly, once the survey system 102 hasrecognized a specific type of data (e.g., the respondent's email fromthe social networking information), the survey system 102 can apply thecorresponding tag for use in automatically populating a response to aquestion (e.g., question 410) and storing the data type for later use.

While FIG. 4B illustrates that the question 410 provides a plurality ofdetails from the social networking information to the respondent for therespondent to verify, the administrator can organize the survey toinclude a plurality of separate questions for verifying the details.Furthermore, the administrator can create a verification question toinclude an answer portion that allows the respondent to enter correcteddetails. Thus, the administrator can customize the survey in a number ofdifferent ways based on the programming language and desired layout/flowof the survey.

In one or more embodiments, the administrator also creates a pluralityof questions corresponding to the details in question 410. For example,the administrator can create a question requesting contact information,a question requesting gender, a question requesting relationship status,etc. The questions corresponding to the details in question 410 caninclude a plurality of default questions that the survey system 102provides to the respondent in the absence of the social networkinginformation.

Furthermore, the administrator can create additional questions beyondthe default questions for including in customized surveys based on theavailable social networking information. Specifically, the administratorcan create questions that use social networking information forrespondents to request more specific response data about a respondent'sinterests and/or to expand the scope of the survey. For example, theadministrator can create follow-up questions to be included in surveysfor respondents that have certain characteristics in the socialnetworking information.

After generating the questions for the survey, the administrator canalso determine a question flow to indicate an order of the questions andwhether to exclude one or more of the questions corresponding to thedetails, as briefly described previously. In particular, the creationinterface 404 can include a survey flow option 412 that causes theadministrator application 402 to navigate to a survey flow interface414, as illustrated in FIG. 4C. As described in more detail below, thesurvey flow interface 414 allows the administrator to manage a surveyflow and survey logic for the survey.

In one or more embodiments, when managing the survey flow, theadministrator generates logic that allows the survey system 102 toobtain social networking information from a social networking system.Specifically, the survey system 102 can provide a template 416 forimplementing web services within the survey. The template 416 includes aplurality of values and options that allow the administrator to specifyvariables associated with implementing the web service. Defining thevalues/options causes the survey system 102 to connect to the socialnetworking system, obtain social networking information associated witha social networking account of the respondent, and store the informationwith specified tags.

For instance, the template 416 of FIG. 4C includes a URL value 418 a, atoken value 418 b, name values 418 c, 418 d, and field values 418 e. TheURL value 418 a indicates a URL at which the survey system 102 accessesthe social networking information for the respondent. The token value418 b indicates an authentication token for authenticating with thesocial networking system (e.g., to indicate to the social networkingsystem that the survey system 102 is a trusted entity). The name values418 c, 418 d indicate an identity (e.g., first name and last name) ofthe respondent in connection with the social networking account. Thefield values 418 e indicate the various characteristics of therespondent from the social networking information. Furthermore, theadministrator can define the tags or variables with which the surveysystem 102 will store the various characteristics when the survey system102 has obtained the social networking information.

In addition to completing the template 416, the survey system 102 allowsthe administrator to establish the question flow for the plurality ofquestions. For instance, the administrator can determine how the surveywill branch upon successful authentication of the social networkingaccount. To illustrate, if the respondent successfully authenticateswith the social networking system and the survey system 102 obtainssocial networking information for the respondent, the survey can branchfrom the set of default questions to one or more additional questions.Alternatively, if the respondent does not authenticate with the socialnetworking system, the survey provides the default questions withoutbranching. The survey system 102 can also allow the administrator todynamically determine the flow of any additional questions included inthe survey based on social networking information.

In one or more embodiments, the survey system 102 allows theadministrator to implement functionality for posting information to arespondent's social networking account. FIG. 4D illustrates a template420 for posting information to the social networking account of theuser. The template 420 includes a plurality of values associated withdetecting, storing, and posting feedback from the respondent inconnection with a question in the survey. Specifically, the template 420includes a message value 422 a, a token value 422 b, and field values422 c. The values allow the survey system 102 to connect to the socialnetworking system and post a message to the social networking account ofthe respondent.

For example, the message value 422 a includes a value that storesfeedback from the respondent in response to a question in the survey.The token value 422 b can include the token value 418 b that stores theauthentication token indicating that the survey system 102 is a trustedentity. In various embodiments, the social networking system may requirethe survey system 102 to be a trusted entity prior to allowing thesurvey system 102 to post on behalf of the respondent. The field values422 c can include data that the social networking system requires fromthe survey system 102 to post a message on behalf of the respondent. Forinstance, the field values can include a creation time, a post ID forthe respondent, the message value 422 a, a privacy value indicatingwhether the post will be public or private, a post link, or otherdetails that may be applicable when posting a message to the socialnetworking account.

In additional embodiments, the survey system 102 provides functionalityfor further customizing surveys for respondents. To illustrate, thesurvey system 102 can provide functionality for setting up automaticallygenerated questions. For example, the survey system 102 can allow theadministrator to set rules for automatically generated posts such as,but not limited to, rules that establish a limit for the number ofquestions that can be in the survey, the types of questions that can bein the survey, and what information to use in automatically generatingquestions.

In another example, the survey system 102 may allow an administrator toestablish a test account for previewing messages prior to posting themessages to the respondent's social networking account, as described inrelation to FIG. 5G. Specifically, the administrator can set up a testaccount with a user ID for the administrator or survey system 102. Theadministrator can then embed the user ID for the test account into thesurvey so that a respondent can preview feedback (e.g., how the feedbackwill appear) prior to posting the feedback to the respondent's socialnetworking account.

After an administrator has generated a survey, the survey system 102 candistribute the survey to one or more respondents. FIGS. 5A-5H and FIGS.6A-6F illustrate various flowcharts for customizing surveys and GUIs ofa client application that allows a respondent to provide response datato a customized survey. In particular, FIGS. 5A-5H illustrate aflowchart and GUIs corresponding to a survey that the survey system 102customizes based on a first set of social networking information. FIGS.6A-6F illustrate a flowchart and GUIs corresponding to a survey that thesurvey system 102 customizes based on a second set of social networkinginformation. To illustrate, the survey of FIGS. 5A-5H is customized fora survey system that is not a trusted entity with the social networkingsystem, and the survey of FIGS. 6A-6F is customized for a survey systemthat is a trusted entity.

With reference to FIG. 5A, the survey system 102 customizes a basesurvey 500 (e.g., including a set of default survey questions) usingsocial networking information (e.g., user profile 502) to create acustomized survey 504 for a respondent. Specifically, in response to arequest by a respondent to provide an electronic survey, the surveysystem 102 identifies the base survey 500. The survey system 102 obtainsthe user profile 502 from a social networking system and then usesinformation in the user profile 502 to modify the base survey 500 tocreate the customized survey 504.

In the embodiment of FIG. 5A, the base survey 500 includes a pluralityof default questions (i.e., “Question 1,” “Question 2,” . . . “Question11”). When the survey system 102 retrieves the user profile 502, thesurvey system 102 determines whether the user profile 502 includesinformation that provides response data for any of the default questionsin the base survey 500. As shown, the user profile 502 includes aplurality of characteristics (i.e., “Characteristic 1,” “Characteristic2,” “Characteristic 3”). The survey system 102 can determine that thecharacteristics of the user profile 502 provide response data for atleast some of the default questions (e.g., “Question 4” through“Question 9”).

In response to determining that the user profile 502 includesinformation that provides response data for at least some of the defaultquestions, the survey system 102 can exclude the answered questions fromthe customized survey 504. Thus, when generating the customized survey504 for the respondent, the survey system 102 excludes the answeredquestions while including the questions that were not answered. Once thesurvey system 102 has generated the customized survey 504, the surveysystem 102 can provide the customized survey 504 to the respondent, asillustrated in FIGS. 5B-5H.

With reference to FIG. 5B, a respondent client device 506 includes aclient application 508 that allows a respondent to provide response datafor a customized survey (e.g., the customized survey 504). In one ormore embodiments, the client application 508 includes a web browser thataccesses a URL for the survey via a network connection. The respondentcan use the web browser to navigate and interact with questions withinthe survey.

As illustrated, FIG. 5B includes a response interface 510 that displaysat least one question from the customized survey. In particular, theresponse interface 510 displays the questions of the survey according tothe question flow established by the administrator during creation ofthe survey. As illustrated in FIG. 5B, the survey includes a firstquestion 512 that is an informative statement with instructions or otherinformation to assist that respondent in understanding the purpose ofthe survey.

Additionally, the survey includes a second question 514 that askswhether the respondent would like to allow the survey system 102 toretrieve social networking information from the social networkingsystem. If the respondent selects a response in the answer portion ofthe question indicating that the respondent does not want to provideaccess to the social networking account of the respondent, the surveycan continue with the base survey (e.g., base survey 500). If therespondent selects “Yes,” the survey system 102 can then follow thesurvey branch corresponding to a process of customizing the survey.

In one or more embodiments, in response to an affirmative responseproviding access to the social networking account of the respondent, thesurvey system 102 can provide a login interface 516 within the clientapplication 508, as illustrated in FIG. 5C. The login interface 516 canbe an interface accessed via an iframe or other method of inserting aninterface view from the social networking system into the clientapplication 508. The respondent can log in to the respondent's socialnetworking account via the login interface 516 by inputting a usernameand password corresponding to the social networking account into a loginprompt 518.

Upon successful authentication, the survey system 102 can retrievesocial networking information from the user profile of the respondent.As previously mentioned, FIGS. 5A-5H illustrate an embodiment in whichthe survey system 102 is not a trusted entity with the social networkingsystem. Because the survey system 102 is not a trusted entity, thesurvey system 102 may be limited to obtaining a certain subset of socialnetworking information from the user profile of the respondent. Suchinformation can include publicly available information from the userprofile or another subset of the social networking information in theuser profile.

After receiving the social networking information from the socialnetworking system, the survey system 102 causes the client application508 to return to the response interface 510. Additionally, the surveysystem 102 provides a question 520 requesting the respondent to reviewthe social networking information for accuracy, as illustrated in FIG.5D. Because the administrator created the question using a programminglanguage with tags/values for identifying and storing the socialnetworking information, the survey system 102 can automatically populatethe question 520 with the appropriate information.

Furthermore, based on the social networking information, the surveysystem 102 can determine that one or more of the default questions hasbeen answered and then exclude those questions from the survey.Accordingly, FIG. 5E illustrates that the client application 508 doesnot display a plurality of default questions that request variousdetails provided in the social networking information. Rather, FIG. 5Eillustrates a question 522 that follows the new question flow that skipsthe determined default questions. Also, while the survey system 102 mayadd additional questions to the survey based on the social networkingsystem, the survey system 102 may only exclude questions based on thesocial networking information available and the survey logic.

FIG. 5E also illustrates a question 524 that requests that therespondent provide more detailed feedback within a text input portion,if the respondent so desires. If the feedback is positive, the surveysystem 102 may determine that the feedback is eligible to post to thesocial networking account of the respondent. For instance, the surveysystem 102 can use one or more language processing techniques to analyzeand score the text input (e.g., using machine-learning that attempts todetermine whether the feedback is positive or negative). In one or moreembodiments, the survey system 102 compares the score to a threshold todetermine whether the feedback is eligible for posting to the socialnetworking account.

If the feedback is positive, the survey system 102 can allow therespondent to post the feedback. In one or more embodiments, rather thanposting the feedback directly to the social networking account of therespondent, the survey system 102 can allow the respondent to view apreview 526 of the post, as illustrated in FIG. 5F. The survey system102 may generate the preview 526 using the feedback from the survey todisplay within a preview interface 528. Alternatively, the survey system102 can allow the respondent to preview the post by posting the feedbackto a test account associated with the survey system 102, which may postthe preview within a social network feed of the test account.

After reviewing the post, the respondent can then post the feedback tothe social networking account or cancel the post and finish the survey.Upon posting the feedback, the survey system 102 can complete the surveyand provide a message including a link to the post within the clientapplication 508, as illustrated in FIG. 5G. The survey system 102 canuse information from the stored social networking information to postthe message and provide the link. FIG. 5H illustrates a socialnetworking interface 532 including a social network post 534 that thesurvey system 102 generated with the feedback from the survey.

As previously described, the survey system 102 can further customize asurvey with additional social networking information if the surveysystem 102 is a trusted entity with the social networking system. FIGS.6A-6F illustrate a flowchart and GUIs corresponding to an embodiment inwhich the survey system 102 is a trusted entity. In particular, FIG. 6Aillustrates a flowchart in which the survey system 102 customize a basesurvey 600 using social networking information (e.g., user profile 602and friend/demographic characteristics 604) to create a customizedsurvey 606 for a respondent.

Similar to the process in FIG. 5A, in response to a request by arespondent to provide an electronic survey, the survey system 102identifies the base survey 600 in FIG. 6A. The survey system 102 obtainsthe user profile 602 from a social networking system and then usesinformation in the user profile 602 to modify the base survey 600 tocreate the customized survey 606. Because the survey system 102 istrusted, however, the survey system 102 can also receive and usefriend/demographic characteristics 604 to customize the base survey 600.

In the embodiment of FIG. 6A, the base survey 600 includes a pluralityof default questions (i.e., “Question 1,” “Question 2,” . . . “Question11”). When the survey system 102 retrieves the user profile 602 andfriend/demographic characteristics 604, the survey system 102 determineswhether the user profile 602 includes information that provides responsedata for any of the default questions in the base survey 600. As shown,the user profile 602 (or rather, the received profile information basedon the trusted status of the survey system 102) includes a plurality ofcharacteristics (i.e., “Characteristic 1,” “Characteristic 2,”“Characteristic 3,” “Characteristic 4,” “Characteristic 5”), which ismore than the user profile 502 of FIG. 5A. The survey system 102 candetermine that the characteristics of the user profile 602 provideresponse data for at least some of the default questions (e.g.,“Question 4” through “Question 9”) and then exclude the correspondingdefault questions from the customized survey 606.

In addition to excluding some questions, however, the survey system 102can also include additional questions. Specifically, FIG. 6A illustratesthat the survey system 102 adds “Question 12,” “Question 12A,” and“Question 13” to the customized survey 606. Additionally, the surveysystem 102 updates the question flow based on the logic provided by theadministrator. While FIG. 6A illustrates one example, the survey system102 can generate as few or as many question, and in any order, asdetermined by the survey logic and the social networking information.Once the survey system 102 has generated the customized survey 606, thesurvey system 102 can provide the customized survey 606 to therespondent, as illustrated in FIGS. 6B-6H.

Similar to FIGS. 5B-5H, the survey system 102 can include the samedefault questions included in the customized survey 504, and are thusnot shown in FIGS. 6B-6F. FIGS. 6B-6H illustrate questions that thesurvey system 102 has added to the customized survey 606 based on theadditional social networking information due to the trusted status ofthe survey system 102. Specifically, FIG. 6B illustrates a client device608 including a client application 610 by which the respondent can viewand interact with a customized survey. FIG. 6B illustrates that thesurvey system 102 added a first new question 612 to the survey based onone or more characteristics of the respondent. To illustrate, the surveysystem 102 can determine that the respondent has previously purchasedproducts from “Acme Corp.,” and adds the first new question 612 todetermine more specific information about the respondent's purchasehabits.

As previously mentioned, the survey system 102 can also add follow-upquestions based on social networking information. FIG. 6C illustrates asecond new question 614 that the survey system 102 added to the survey.In particular, the second new question 614 is a follow-up question tothe first new question 612 that requests detailed information about therespondent's likely future purchase habits.

The survey system 102 may add either the first new question 612 and/orthe second new question 614 based on information about the respondent'sfriends or other respondents within a similar demographic. For instance,the survey system 102 may determine that others like the respondent tendto have specific purchase habits. The survey system 102 can requestdetails about the respondent's purchase habits to further increase theaccuracy of estimates for the respondent's demographics relative totheir purchase habits. Additionally, response data for such questionscan allow the survey system 102 to further identify common interests ofthe demographic as a whole.

In one or more embodiments, the survey system 102 also determines thatprevious respondents in the same demographic typically tend to have aspecific characteristic and/or respond to a given question with a commonanswer. Because the respondent falls within the same demographic andshares one or more similar characteristics, the survey system 102 canautomatically predict that the respondent is likely to respond with thesame answer. The survey system 102 can then exclude the given question,modify the given question (e.g., by including more detailed answeroptions), or include additional follow-up questions. Thus, the surveysystem 102 can use machine-learning models or other automatic predictionmethods to intelligently improve a survey for each respondent based onprevious response data.

Furthermore, the survey system 102 can also use the social networkinginformation to predict other information about the respondent. Forexample, the survey system 102 can use the social networking informationto predict whether the respondent is likely to answer one or more of thequestions, or whether the respondent is likely to quit the survey early(i.e., determine that the respondent is unlikely to finish the survey).Accordingly, the survey system 102 can intelligently make variouspredictions about a plurality of respondents including response data orsurvey churn.

Additionally, the survey system 102 can generate questions in real timebased on social networking information for a respondent. FIG. 6Dillustrates a new question 616 that the survey system 102 automaticallygenerated in response to the social networking information for therespondent. In particular, the survey system 102 can use the locationinformation and/or other information associated with the respondent(e.g., purchase history, likes, interests) to create a plurality ofcustomized answer options for a question. To illustrate, the newquestion 616 of FIG. 6D includes a plurality of answer options forstores that are near the respondent's location, and which sell productsor services related to the respondent's interests from the socialnetworking information. In at least some embodiments, the survey system102 is able to create new question portions and/or answer portionsautomatically based on the available social networking information for arespondent.

FIG. 6E illustrates a question 618 requesting feedback, similar to thequestion 524 of FIG. 5E. In the embodiment of FIG. 6E, however, therespondent has provided feedback that the survey system 102 determinesis not positive (i.e., neutral or negative). Specifically, the surveysystem 102 can determine that the feedback does not meet the criteria(e.g., does not have a score) that makes the feedback eligible forposting to the respondent's social networking account. Thus, asillustrated in FIG. 6F, the survey system 102 can determine not to postthe feedback and then provides a message 620 providing contactinformation for the respondent to contact to remedy the situation thatled to the feedback not being positive.

Turning now to FIG. 7, this figure illustrates a flowchart of a seriesof acts 700 of customizing an electronic survey using social networkinginformation in accordance with one or more embodiments. While FIG. 7illustrates acts according to one embodiment, alternative embodimentsmay omit, add to, reorder, and/or modify any of the acts shown in FIG.7. The acts of FIG. 7 can be performed as part of a method.Alternatively, a non-transitory computer readable medium can compriseinstructions that, when executed by one or more processors, cause acomputing device to perform the acts of FIG. 7. In still furtherembodiments a system can perform the acts of FIG. 7.

The series of acts 700 includes an act 702 of receiving a request toprovide an electronic survey. For example, act 702 involves receiving,from a client device associated with a respondent, a request to providean electronic survey to the client device. Act 702 can involve receivingthe request to provide the electronic survey in connection with arequest to access a link to an electronic survey.

The series of acts 700 also includes an act 704 of receiving socialnetworking information. For example, act 704 involves receiving, from athird-party social networking system, social networking informationassociated with the respondent. Act 704 can involve providing, to theclient device in connection with the request, a prompt for therespondent to log in to a social networking account associated with athird-party social networking system. For example, act 704 can involveproviding the prompt in response to a response to a request by therespondent to provide social networking information from a socialnetworking account of the respondent.

Additionally, act 704 can involve authenticating a survey systemproviding the electronic survey with the third-party social networkingsystem to indicate that the survey system is a trusted entity. Forexample, act 704 can involve providing, with the prompt, anauthentication token indicating a trusted relationship with thethird-party social networking system, the authentication token causingthe third-party social networking system to provide additional socialnetworking information in response to the respondent logging in to thesocial networking account.

Additionally, the series of acts 700 includes an act 706 of determiningsurvey questions for the survey. For example, act 706 involvesdetermining, based on the social networking information, a plurality ofelectronic survey questions for the electronic survey. Act 706 caninvolve identifying a plurality of default electronic survey questionsfor the electronic survey, and modifying the plurality of defaultelectronic survey questions by adding an electronic survey question tothe plurality of default electronic survey questions or removing anelectronic survey question from the plurality of default electronicsurvey questions.

For example, act 706 can also involve determining that the socialnetworking information answers at least one default electronic surveyquestion of the plurality of default electronic survey questions, andexcluding, from the customized electronic survey, the at least onedefault electronic survey question. Act 706 can also involve adding,based on the social networking information associated with therespondent, a follow-up electronic survey question to the plurality ofdefault electronic survey questions.

Act 706 can involve determining a plurality of previous respondents ofthe electronic survey, the plurality of previous respondents having aplurality of characteristics in common with the respondent. Act 706 canfurther involve modifying the plurality of default electronic surveyquestions based on response information from the plurality of previousrespondents having the plurality of characteristics in common with therespondent.

Act 706 can involve accessing a friend list of the respondent from thesocial networking information, and determining that at least one friendfrom the friend list previously responded to the electronic survey. Act706 can further involve adding, in response to determining that the atleast one friend previously responded to the electronic survey, anelectronic survey question to the plurality of default electronic surveyquestions.

Furthermore, act 706 can involve analyzing the social networkinginformation to determine a characteristic of the respondent, andgenerating, for the electronic survey, an electronic survey questioncomprising a question prompt or one or more answer options based on thecharacteristic of the respondent. Generating the electronic surveyquestion can involve generating the electronic survey question inreal-time based on the social networking information. For example, act706 can involve generating the electronic survey question using amachine-learning model trained on a plurality of electronic surveyquestions of previous electronic surveys.

As part of act 706, or as an additional act, the series of acts 700 caninclude an act of determining, based on the social networkinginformation, a question flow indicating an order of the plurality ofelectronic questions in the customized electronic survey. For example,the series of acts 700 can include an act of determining a survey branchto skip one or more questions based on the social networkinginformation.

The series of acts 700 also includes an act 708 of generating acustomized survey. For example, act 708 involves generating a customizedelectronic survey comprising the plurality of electronic surveyquestions. Act 708 can involve generating the customized electronicsurvey comprising the plurality of electronic survey questions based onthe social networking information and according to the determinedquestion flow.

The series of acts 700 further includes an act 710 of providing thecustomized survey. For example, act 710 involves providing, in responseto the request, the customized electronic survey to the client deviceassociated with the respondent.

The series of acts 700 can also include an act of receiving, from theclient device associated with the respondent, a text input response to atext input question of the plurality of electronic survey questions. Theseries of acts 700 can then include an act of analyzing, using naturallanguage processing, the text input response to determine whether thetext input response is eligible for posting to the social networkingaccount. Additionally, the series of acts 700 can include an act of, inresponse to determining that the text input response is eligible,generating a social network post comprising the text input response tothe social networking account. For example, the series of acts 700 caninclude acts of generating a preview post comprising the text inputresponse in connection with a test social networking account, andposting the social network post to the social networking account inresponse to a respondent confirmation of the preview post.

FIG. 8 illustrates an example embodiment of an environment that includesthe survey system 102 of FIG. 1. Specifically, the survey system 102operates on electronic device(s) 800 (e.g., server(s) 104 of FIG. 1).The electronic device(s) 800 communicate with a plurality of devices(administrator client device 802, respondent client device 804, andthird-party social networking system 806. The survey system 102 includesa survey creation manager 808, a user information analyzer 810, amachine-learning model 812, a survey customization manager 814, a surveydistribution manager 816, a survey administration manager 818, and areport manager 820. Although the survey system 102 is depicted as havingvarious components, the survey system 102 can have any number ofadditional or alternative components. Alternatively, one or morecomponents of the survey system 102 can be combined into fewercomponents or divided into more components.

In one or more embodiments, each of the components and subcomponents ofthe survey system 102 can be in communication with one another using anysuitable communication technologies. It will be recognized that althoughthe subcomponents of the survey system 102 are shown to be separate inFIG. 8, any of the subcomponents can be combined into fewer components,such as into a single component, or divided into more components as canserve a particular implementation. Furthermore, although the componentsof FIG. 8 are described in connection with the survey system 102, atleast some of the components for performing operations in conjunctionwith the survey system 102 described herein can be implemented on otherdevices and/or with other systems.

The components of the survey system 102 can include software, hardware,or both. For example, the components of the survey system 102 (e.g., thesurvey creation manager 808, the user information analyzer 810, themachine-learning model 812, the survey customization manager 814, thesurvey distribution manager 816, the survey administration manager 818,and the report manager 820) can include one or more instructions storedon computer-readable storage mediums and executable by processors of oneor more computing devices. When executed by the one or more processors,the computer-executable instructions of the survey system 102 can causethe computing device(s) to perform the survey creation andadministration processes described herein. Alternatively, the componentsof the survey system 102 can comprise hardware, such as a specialpurpose processing device to perform a certain function or group offunctions. Additionally, the components of the survey system 102 cancomprise a combination of computer-executable instructions and hardware.

Furthermore, the components of the survey system 102 performing thefunctions described herein with respect to survey creation andadministration can, for example, be implemented as part of a stand-aloneapplication, as a module of an application, as part of a suite ofapplications, as a plug-in for applications including content creationapplications, as a library function or functions that can be called byother applications, and/or as a cloud-computing model. Thus, variouscomponents of the survey system 102 can be implemented as part of astand-alone application on a personal computing device or a mobiledevice. For example, the components of the survey system 102 can beimplemented in any application that allows the creation andadministration of surveys to users, as can serve a particularembodiment.

As illustrated, the survey system 102 includes a survey creation manager808. The survey creation manager 808 manages the creation of a survey,including the composition of one or more survey questions. For example,the survey creation manager 808 receives information from theadministrator client device 802 to create a survey. The survey creationmanager 908 also receives information from the administrator clientdevice 802 to create one or more survey questions for the survey. Toillustrate, the survey creation manager 808 can receive information thata user (e.g., a survey creator or administrator) enters into anadministrator application to create a set of default questions for asurvey and additional questions that the survey system 102 can use incustomizing the survey for a respondent.

Additionally, the survey creation manager 808 can assist a user increating a survey by providing tools to the user to select varioustemplate questions, question types, and/or response types. For example,the survey creation manager 808 can manage the appearance and content ofan administrator application provided to the administrator client device802. To illustrate, the survey creation manager 808 can provide a userinterface that allows an administrator to manage an order of questionsin a survey, including establishing whether the order of questionsbranches based on responses to the questions. The survey creationmanager 808 can also provide tools for using a programming language tocreate dynamic questions and customizable survey/question flows based onsocial networking information for a respondent.

The survey system 102 also includes a user information analyzer 810.Specifically, the user information analyzer 810 analyzes informationabout respondents for customizing surveys for the individualrespondents. For example, the user information analyzer 810 can analyzesocial networking information received for a respondent to determinecharacteristics or other details associated with a respondent. The userinformation analyzer 810 can also determine different information typesor items and then tag or otherwise mark the different informationtypes/items for use in customizing a survey (e.g., using tags or valuesas illustrated in FIG. 4B). Additionally, the user information analyzer810 can analyze information associated with other users (e.g., from arespondent's friend list or other respondents within a similardemographic) to identify similarities with the social networkinginformation of the respondent.

The survey system 102 of FIG. 8 includes a machine-learning model 812that facilitates the real-time customization of electronic surveys. Inparticular, the survey system 102 can train the machine-learning model812 using a plurality of previous surveys and questions to a pluralityof respondents. The machine-learning model 812 can learn to detectpatterns of interests or characteristics of users relative to responsedata. The machine-learning model 812 can also learn to generate newquestions using natural language processing, question analysis thatanalyzes question structures, or other analysis techniques. The surveysystem 102 can also allow user-guided training of the machine-learningmodel 812, including allowing a user to establish rules or limits forthe machine-learning model 812 to follow in generating new questions.

The survey system 102 also includes a survey customization manager 814for customizing electronic surveys. Specifically, the surveycustomization manager 814 determines whether to exclude any defaultquestions from an electronic survey or to include any additionalquestions in the electronic survey. The survey customization manager 814uses information from the user information analyzer 810 to make thedetermination of whether to exclude or include one or more questions.The survey customization manager 814 can also determine the questionflow of a survey based on the survey logic provided by an administrator.

As mentioned, the survey system 102 also includes a survey distributionmanager 816. After creating a survey, a user can distribute the surveyto a plurality of respondents. When the survey system 102 administers asurvey, the survey distribution manager 816 may send the survey torespondents in response to a request for a survey. For example, thesurvey distribution manager 816 can send the survey to respondents basedon the request and after the survey customization manager 814 determinesthe questions to include in the survey. In one or more embodiments, thesurvey distribution manager 816 provides one or more questions of thesurvey prior to customizing the survey, such as by providing a questionsthat asks whether the respondent would like to use social networkinginformation to customize the survey.

The survey system 102 also includes a survey administration manager 818that facilitates the administration of surveys. In particular, thesurvey administration manager 818 can administer surveys to therespondents by collecting response information from the respondents. Thesurvey administration manager 818 can also store the response data fromrespondents. Because each survey may be customized for the individualrespondents, the survey administration manager 818 can store theresponse data with information about the customized surveys so that theresponse data is useful in reporting survey statistics to a surveyadministrator and/or in further training the machine-learning model 812.

The survey system 102 further includes a report manager 820 forgenerating reports based on received response data. Specifically, asurvey creator, an administrator, or other user may want to view asummary of response data for an event. The report manager 820 receives arequest to generate a report and communicates with the surveyadministration manager 918 to generate the report using the responsedata. To illustrate, the report manager 820 can generate one or morevisualizations of the response data that allows a user to identify thedifferent responses and the different ways in which the survey system102 customized the survey.

Embodiments of the present disclosure can comprise or utilize a specialpurpose or general-purpose computer including computer hardware, suchas, for example, one or more processors and system memory, as discussedin greater detail below. Embodiments within the scope of the presentdisclosure also include physical and other computer-readable media forcarrying or storing computer-executable instructions and/or datastructures. In particular, one or more of the processes described hereincan be implemented at least in part as instructions embodied in anon-transitory computer-readable medium and executable by one or morecomputing devices (e.g., any of the media content access devicesdescribed herein). In general, a processor (e.g., a microprocessor)receives instructions, from a non-transitory computer-readable medium,(e.g., a memory, etc.), and executes those instructions, therebyperforming one or more processes, including one or more of the processesdescribed herein.

Computer-readable media can be any available media that can be accessedby a general purpose or special purpose computer system.Computer-readable media that store computer-executable instructions arenon-transitory computer-readable storage media (devices).Computer-readable media that carry computer-executable instructions aretransmission media. Thus, by way of example, and not limitation,embodiments of the disclosure can comprise at least two distinctlydifferent kinds of computer-readable media: non-transitorycomputer-readable storage media (devices) and transmission media.

Non-transitory computer-readable storage media (devices) includes RAM,ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) (e.g., based on RAM),Flash memory, phase-change memory (“PCM”), other types of memory, otheroptical disk storage, magnetic disk storage or other magnetic storagedevices, or any other medium which can be used to store desired programcode means in the form of computer-executable instructions or datastructures and which can be accessed by a general purpose or specialpurpose computer.

A “network” is defined as one or more data links that enable thetransport of electronic data between computer systems and/or modulesand/or other electronic devices. When information is transferred orprovided over a network or another communications connection (eitherhardwired, wireless, or a combination of hardwired or wireless) to acomputer, the computer properly views the connection as a transmissionmedium. Transmissions media can include a network and/or data linkswhich can be used to carry desired program code means in the form ofcomputer-executable instructions or data structures and which can beaccessed by a general purpose or special purpose computer. Combinationsof the above should also be included within the scope ofcomputer-readable media.

Further, upon reaching various computer system components, program codemeans in the form of computer-executable instructions or data structurescan be transferred automatically from transmission media tonon-transitory computer-readable storage media (devices) (or viceversa). For example, computer-executable instructions or data structuresreceived over a network or data link can be buffered in RAM within anetwork interface module (e.g., a “NIC”), and then eventuallytransferred to computer system RAM and/or to less volatile computerstorage media (devices) at a computer system. Thus, it should beunderstood that non-transitory computer-readable storage media (devices)can be included in computer system components that also (or evenprimarily) utilize transmission media.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at a processor, cause a general purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. In someembodiments, computer-executable instructions are executed on ageneral-purpose computer to turn the general-purpose computer into aspecial purpose computer implementing elements of the disclosure. Thecomputer executable instructions can be, for example, binaries,intermediate format instructions such as assembly language, or evensource code. Although the subject matter has been described in languagespecific to structural features and/or methodological acts, it is to beunderstood that the subject matter defined in the appended claims is notnecessarily limited to the described features or acts described above.Rather, the described features and acts are disclosed as example formsof implementing the claims.

Those skilled in the art will appreciate that the disclosure can bepracticed in network computing environments with many types of computersystem configurations, including, personal computers, desktop computers,laptop computers, message processors, hand-held devices, multi-processorsystems, microprocessor-based or programmable consumer electronics,network PCs, minicomputers, mainframe computers, mobile telephones,PDAs, tablets, pagers, routers, switches, and the like. The disclosurecan also be practiced in distributed system environments where local andremote computer systems, which are linked (either by hardwired datalinks, wireless data links, or by a combination of hardwired andwireless data links) through a network, both perform tasks. In adistributed system environment, program modules can be located in bothlocal and remote memory storage devices.

Embodiments of the present disclosure can also be implemented in cloudcomputing environments. In this description, “cloud computing” isdefined as a model for enabling on-demand network access to a sharedpool of configurable computing resources. For example, cloud computingcan be employed in the marketplace to offer ubiquitous and convenienton-demand access to the shared pool of configurable computing resources.The shared pool of configurable computing resources can be rapidlyprovisioned via virtualization and released with low management effortor service provider interaction, and then scaled accordingly.

A cloud-computing model can be composed of various characteristics suchas, for example, on-demand self-service, broad network access, resourcepooling, rapid elasticity, measured service, and so forth. Acloud-computing model can also expose various service models, such as,for example, Software as a Service (“SaaS”), Platform as a Service(“PaaS”), and Infrastructure as a Service (“IaaS”). A cloud-computingmodel can also be deployed using different deployment models such asprivate cloud, community cloud, public cloud, hybrid cloud, and soforth. In this description and in the claims, a “cloud-computingenvironment” is an environment in which cloud computing is employed.

FIG. 9 illustrates a block diagram of exemplary computing device 900that can be configured to perform one or more of the processes describedabove. One will appreciate that one or more computing devices such asthe computing device 900 can implement the various devices of theenvironment 100 of FIG. 1. As shown by FIG. 9, the computing device 900can comprise a processor 902, a memory 904, a storage device 906, an I/Ointerface 908, and a communication interface 910, which can becommunicatively coupled by way of a communication infrastructure 912.While an exemplary computing device 900 is shown in FIG. 9, thecomponents illustrated in FIG. 9 are not intended to be limiting.Additional or alternative components can be used in other embodiments.Furthermore, in certain embodiments, the computing device 900 caninclude fewer components than those shown in FIG. 9. Components of thecomputing device 900 shown in FIG. 9 will now be described in additionaldetail.

In one or more embodiments, the processor 902 includes hardware forexecuting instructions, such as those making up a computer program. Asan example and not by way of limitation, to execute instructions, theprocessor 902 can retrieve (or fetch) the instructions from an internalregister, an internal cache, the memory 904, or the storage device 906and decode and execute them. In one or more embodiments, the processor902 can include one or more internal caches for data, instructions, oraddresses. As an example and not by way of limitation, the processor 902can include one or more instruction caches, one or more data caches, andone or more translation lookaside buffers (TLBs). Instructions in theinstruction caches can be copies of instructions in the memory 904 orthe storage 906.

The memory 904 can be used for storing data, metadata, and programs forexecution by the processor(s). The memory 904 can include one or more ofvolatile and non-volatile memories, such as Random Access Memory(“RAM”), Read Only Memory (“ROM”), a solid state disk (“SSD”), Flash,Phase Change Memory (“PCM”), or other types of data storage. The memory904 can be internal or distributed memory.

The storage device 906 includes storage for storing data orinstructions. As an example and not by way of limitation, storage device906 can comprise a non-transitory storage medium described above. Thestorage device 906 can include a hard disk drive (HDD), a floppy diskdrive, flash memory, an optical disc, a magneto-optical disc, magnetictape, or a Universal Serial Bus (USB) drive or a combination of two ormore of these. The storage device 906 can include removable ornon-removable (or fixed) media, where appropriate. The storage device906 can be internal or external to the computing device 900. In one ormore embodiments, the storage device 906 is non-volatile, solid-statememory. In other embodiments, the storage device 906 includes read-onlymemory (ROM). Where appropriate, this ROM can be mask programmed ROM,programmable ROM (PROM), erasable PROM (EPROM), electrically erasablePROM (EEPROM), electrically alterable ROM (EAROM), or flash memory or acombination of two or more of these.

The I/O interface 908 allows a user to provide input to, receive outputfrom, and otherwise transfer data to and receive data from computingdevice 900. The I/O interface 908 can include a mouse, a keypad or akeyboard, a touch screen, a camera, an optical scanner, networkinterface, modem, other known I/O devices or a combination of such I/Ointerfaces. The I/O interface 908 can include one or more devices forpresenting output to a user, including, but not limited to, a graphicsengine, a display (e.g., a display screen), one or more output drivers(e.g., display drivers), one or more audio speakers, and one or moreaudio drivers. In certain embodiments, the I/O interface 908 isconfigured to provide graphical data to a display for presentation to auser. The graphical data can be representative of one or more graphicaluser interfaces and/or any other graphical content as can serve aparticular implementation.

The communication interface 910 can include hardware, software, or both.In any event, the communication interface 910 can provide one or moreinterfaces for communication (such as, for example, packet-basedcommunication) between the computing device 900 and one or more othercomputing devices or networks. As an example and not by way oflimitation, the communication interface 910 can include a networkinterface controller (NIC) or network adapter for communicating with anEthernet or other wire-based network or a wireless NIC (WNIC) orwireless adapter for communicating with a wireless network, such as aWI-FI.

Additionally, or alternatively, the communication interface 910 canfacilitate communications with an ad hoc network, a personal areanetwork (PAN), a local area network (LAN), a wide area network (WAN), ametropolitan area network (MAN), or one or more portions of the Internetor a combination of two or more of these. One or more portions of one ormore of these networks can be wired or wireless. As an example, thecommunication interface 910 can facilitate communications with awireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FInetwork, a WI-MAX network, a cellular telephone network (such as, forexample, a Global System for Mobile Communications (GSM) network), orother suitable wireless network or a combination thereof.

Additionally, the communication interface 910 can facilitatecommunications various communication protocols. Examples ofcommunication protocols that can be used include, but are not limitedto, data transmission media, communications devices, TransmissionControl Protocol (“TCP”), Internet Protocol (“IP”), File TransferProtocol (“FTP”), Telnet, Hypertext Transfer Protocol (“HTTP”),Hypertext Transfer Protocol Secure (“HTTPS”), Session InitiationProtocol (“SIP”), Simple Object Access Protocol (“SOAP”), ExtensibleMark-up Language (“XML”) and variations thereof, Simple Mail TransferProtocol (“SMTP”), Real-Time Transport Protocol (“RTP”), User DatagramProtocol (“UDP”), Global System for Mobile Communications (“GSM”)technologies, Code Division Multiple Access (“CDMA”) technologies, TimeDivision Multiple Access (“TDMA”) technologies, Short Message Service(“SMS”), Multimedia Message Service (“MMS”), radio frequency (“RF”)signaling technologies, Long Term Evolution (“LTE”) technologies,wireless communication technologies, in-band and out-of-band signalingtechnologies, and other suitable communications networks andtechnologies.

The communication infrastructure 912 can include hardware, software, orboth that couples components of the computing device 900 to each other.As an example and not by way of limitation, the communicationinfrastructure 912 can include an Accelerated Graphics Port (AGP) orother graphics bus, an Enhanced Industry Standard Architecture (EISA)bus, a front-side bus (FSB), a HYPERTRANSPORT (HT) interconnect, anIndustry Standard Architecture (ISA) bus, an INFINIBAND interconnect, alow-pin-count (LPC) bus, a memory bus, a Micro Channel Architecture(MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express(PCIe) bus, a serial advanced technology attachment (SATA) bus, a VideoElectronics Standards Association local (VLB) bus, or another suitablebus or a combination thereof.

FIG. 10 illustrates an example network environment 1000 for a surveysystem 102. Network environment 1000 includes a client device 1006, anda server device 1002 connected to each other by a network 1004. AlthoughFIG. 10 illustrates a particular arrangement of client device 1006,server device 1002, and network 1004, this disclosure contemplates anysuitable arrangement of client device 1006, server device 1002, andnetwork 1004. As an example and not by way of limitation, two or more ofclient device 1006, and server device 1002 can be connected to eachother directly, bypassing network 1004. As another example, two or moreof client device 1006 and server device 1002 can be physically orlogically co-located with each other in whole, or in part. Moreover,although FIG. 10 illustrates a particular number of client devices 1006,server devices 1002, and networks 1004, this disclosure contemplates anysuitable number of client devices 1006, server devices 1002, andnetworks 1004. As an example and not by way of limitation, networkenvironment 1000 can include multiple client devices 1006, serverdevices 1002, and networks 1004.

This disclosure contemplates any suitable network 1004. As an exampleand not by way of limitation, one or more portions of network 1004 caninclude an ad hoc network, an intranet, an extranet, a virtual privatenetwork (VPN), a local area network (LAN), a wireless LAN (WLAN), a widearea network (WAN), a wireless WAN (WWAN), a metropolitan area network(MAN), a portion of the Internet, a portion of the Public SwitchedTelephone Network (PSTN), a cellular telephone network, or a combinationof two or more of these. Network 1004 can include one or more networks1004.

Links can connect client device 1006, and server device 1002 tocommunication network 1004 or to each other. This disclosurecontemplates any suitable links. In particular embodiments, one or morelinks include one or more wireline (such as for example DigitalSubscriber Line (DSL) or Data Over Cable Service Interface Specification(DOCSIS)), wireless (such as for example Wi-Fi or WorldwideInteroperability for Microwave Access (WiMAX)), or optical (such as forexample Synchronous Optical Network (SONET) or Synchronous DigitalHierarchy (SDH)) links. In particular embodiments, one or more linkseach include an ad hoc network, an intranet, an extranet, a VPN, a LAN,a WLAN, a WAN, a WWAN, a MAN, a portion of the Internet, a portion ofthe PSTN, a cellular technology-based network, a satellitecommunications technology-based network, another link, or a combinationof two or more such links. Links need not necessarily be the samethroughout network environment 1000. One or more first links can differin one or more respects from one or more second links.

In particular embodiments, client device 1006 can be an electronicdevice including hardware, software, or embedded logic components or acombination of two or more such components and capable of carrying outthe appropriate functionalities implemented or supported by clientdevice 1006. As an example and not by way of limitation, a client device1006 can include any of the computing devices discussed above inrelation to FIG. 9. A client device 1006 can enable a network user atclient device 1006 to access network 1004. A client device 1006 canenable its user to communicate with other users at other client devicesor systems.

In particular embodiments, client device 1006 can include a web browser,such as MICROSOFT INTERNET EXPLORER, GOOGLE CHROME, or MOZILLA FIREFOX,and can have one or more add-ons, plug-ins, or other extensions, such asTOOLBAR or YAHOO TOOLBAR. A user at client device 1006 can enter aUniform Resource Locator (URL) or other address directing the webbrowser to a particular server (such as server, or a server associatedwith a third-party system), and the web browser can generate a HyperText Transfer Protocol (HTTP) request and communicate the HTTP requestto server. The server can accept the HTTP request and communicate toclient device 1006 one or more Hyper Text Markup Language (HTML) filesresponsive to the HTTP request. Client device 1006 can render a webpagebased on the HTML files from the server for presentation to the user.This disclosure contemplates any suitable webpage files. As an exampleand not by way of limitation, webpages can render from HTML files,Extensible Hyper Text Markup Language (XHTML) files, or ExtensibleMarkup Language (XML) files, according to particular needs. Such pagescan also execute scripts such as, for example and without limitation,those written in JAVASCRIPT, JAVA, MICROSOFT SILVERLIGHT, combinationsof markup language and scripts such as AJAX (Asynchronous JAVASCRIPT andXML), and the like. Herein, reference to a webpage encompasses one ormore corresponding webpage files (which a browser can use to render thewebpage) and vice versa, where appropriate.

In particular embodiments, server device 1002 can include a variety ofservers, sub-systems, programs, modules, logs, and data stores. Inparticular embodiments, server device 1002 can include one or more ofthe following: a web server, action logger, API-request server,relevance-and-ranking engine, content-object classifier, notificationcontroller, action log, third-party-content-object-exposure log,inference module, authorization/privacy server, search module,advertisement-targeting module, user-interface module, user-profilestore, connection store, third-party content store, or location store.Server device 1002 can also include suitable components such as networkinterfaces, security mechanisms, load balancers, failover servers,management-and-network-operations consoles, other suitable components,or any suitable combination thereof.

In particular embodiments, server device 1002 can include one or moreuser-profile stores for storing user profiles. A user profile caninclude, for example, biographic information, demographic information,behavioral information, social information, or other types ofdescriptive information, such as work experience, educational history,hobbies or preferences, interests, affinities, or location. Interestinformation can include interests related to one or more categories.Categories can be general or specific

The foregoing specification is described with reference to specificexemplary embodiments thereof. Various embodiments and aspects of thedisclosure are described with reference to details discussed herein, andthe accompanying drawings illustrate the various embodiments. Thedescription above and drawings are illustrative and are not to beconstrued as limiting. Numerous specific details are described toprovide a thorough understanding of various embodiments.

The additional or alternative embodiments can be embodied in otherspecific forms without departing from its spirit or essentialcharacteristics. The described embodiments are to be considered in allrespects only as illustrative and not restrictive. The scope of theinvention is, therefore, indicated by the appended claims rather than bythe foregoing description. All changes that come within the meaning andrange of equivalency of the claims are to be embraced within theirscope.

We claim:
 1. A computer-implemented method comprising: receiving, by anelectronic survey system and from a client device associated with arespondent, a request to provide a dynamic electronic survey to theclient device, wherein the dynamic electronic survey comprises a firstportion and a second portion that is customizable; providing, by theelectronic survey system and to the client device associated with therespondent in response to the request, the first portion of the dynamicelectronic survey comprising a first electronic survey questionrequesting access to a social networking account associated with therespondent; accessing, by the electronic survey system, the socialnetworking account associated with the respondent at a third-partysocial networking system in response to receiving permission to accessthe social networking account according to the first electronic surveyquestion, wherein the third-party social networking system is separatefrom the electronic survey system; receiving, by the electronic surveysystem and from the third-party social networking system, socialnetworking information associated with the respondent; determining, byat least one processor of the electronic survey system, a plurality ofelectronic survey questions for the second portion of the dynamicelectronic survey to customize the second portion according to thesocial networking information received in response to receiving thepermission to access the social networking account as a response to thefirst electronic survey question; generating, by the at least oneprocessor of the electronic survey system, the second portion of thedynamic electronic survey comprising the plurality of electronic surveyquestions; and providing, by the electronic survey system, the secondportion of the dynamic electronic survey to the client device associatedwith the respondent.
 2. The computer-implemented method as recited inclaim 1, further comprising determining, based on the social networkinginformation, a question flow indicating an order of the plurality ofelectronic questions in the second portion of the dynamic electronicsurvey.
 3. The computer-implemented method as recited in claim 1,wherein determining the plurality of electronic survey questions for thesecond portion of the dynamic electronic survey comprises: identifying aplurality of default electronic survey questions for the dynamicelectronic survey; and modifying the plurality of default electronicsurvey questions by adding an electronic survey question to theplurality of default electronic survey questions or removing anelectronic survey question from the plurality of default electronicsurvey questions.
 4. The computer-implemented method as recited in claim3, wherein modifying the plurality of default electronic surveyquestions comprises: determining that the social networking informationanswers at least one default electronic survey question of the pluralityof default electronic survey questions; and excluding, from the dynamicelectronic survey, the at least one default electronic survey question.5. The computer-implemented method as recited in claim 3, whereinmodifying the plurality of default electronic survey questionscomprises: determining a plurality of previous respondents of thedynamic electronic survey, the plurality of previous respondents havinga plurality of characteristics in common with the respondent; andmodifying the plurality of default electronic survey questions based onresponse information from the plurality of previous respondents havingthe plurality of characteristics in common with the respondent.
 6. Thecomputer-implemented method as recited in claim 3, further comprising:accessing a friend list of the respondent from the social networkinginformation; determining that at least one friend from the friend listpreviously responded to the dynamic electronic survey; and adding, inresponse to determining that the at least one friend previouslyresponded to the dynamic electronic survey, an electronic surveyquestion to the plurality of default electronic survey questions.
 7. Thecomputer-implemented method as recited in claim 3, wherein modifying theplurality of default electronic survey questions comprises adding, basedon the social networking information associated with the respondent, afollow-up electronic survey question to the plurality of defaultelectronic survey questions.
 8. The computer-implemented method asrecited in claim 1, wherein determining the plurality of electronicsurvey questions for the second portion of the dynamic electronic surveycomprises: determining the plurality of dynamic electronic surveyquestions comprising variable fields according to a programminglanguage; and populating, by interacting with an application programminginterface of the third-party social networking system, one or more ofthe variable fields of the plurality of dynamic electronic surveyquestions with data from the social networking account associated withthe respondent.
 9. The computer-implemented method as recited in claim8, further comprising: receiving, from the client device associated withthe respondent, a text input response to a text input question of theplurality of electronic survey questions; analyzing, using naturallanguage processing, the text input response to determine whether thetext input response is eligible for posting to the social networkingaccount; and in response to determining that the text input response iseligible, generating a social network post comprising the text inputresponse to the social networking account.
 10. The computer-implementedmethod as recited in claim 9, wherein generating the social network postcomprises: generating a preview post comprising the text input responsein connection with a test social networking account; and posting thesocial network post to the social networking account in response to arespondent confirmation of the preview post.
 11. Thecomputer-implemented method as recited in claim 1, wherein determiningthe plurality of electronic survey questions for the second portion ofthe electronic survey comprises: analyzing the social networkinginformation to determine a characteristic of the respondent; andgenerating, for the dynamic electronic survey, an electronic surveyquestion comprising a question prompt or one or more answer optionsbased on the characteristic of the respondent.
 12. A non-transitorycomputer readable medium comprising instructions that, when executed byat least one processor, cause a computer system to: receive, by anelectronic survey system and from a client device associated with arespondent, a request to provide a dynamic electronic survey to theclient device, wherein the dynamic electronic survey comprises a firstportion and a second portion that is customizable; provide, by theelectronic survey system and to the client device associated with therespondent in response to the request, the first portion of the dynamicelectronic survey comprising a first electronic survey questionrequesting access to a social networking account associated with therespondent; access, by the electronic survey system, the socialnetworking account associated with the respondent at a third-partysocial networking system in response to receiving permission to accessthe social networking account according to the first electronic surveyquestion, wherein the third-party social networking system is separatefrom the electronic survey system; receive, by the electronic surveysystem and from the third-party social networking system, socialnetworking information associated with the respondent; determine, by theelectronic survey system, a plurality of electronic survey questions forthe second portion of the dynamic electronic survey to customize thesecond portion according to the social networking information receivedin response to receiving the permission to access the social networkingaccount as a response to the first electronic survey question; generate,by the electronic survey system, the second portion of the dynamicelectronic survey comprising the plurality of electronic surveyquestions; and provide, by the electronic survey system, the secondportion of the dynamic electronic survey to the client device associatedwith the respondent.
 13. The non-transitory computer readable medium asrecited in claim 12, wherein the instructions that, when executed by theat least one processor, cause the computer system to determine theplurality of electronic survey questions for the second portion of theelectronic survey by: identifying a plurality of default electronicsurvey questions for the dynamic electronic survey; determining that thesocial networking information answers at least one default electronicsurvey question of the plurality of default electronic survey questions;and excluding, from the dynamic electronic survey, the at least onedefault electronic survey question.
 14. The non-transitory computerreadable medium as recited in claim 12, wherein the instructions that,when executed by the at least one processor, cause the computer systemto determine the plurality of electronic survey questions for the secondportion of the dynamic electronic survey by: determining, based on thesocial networking information, a plurality of previous respondents ofthe dynamic electronic survey, the plurality of previous respondentshaving a plurality of characteristics in common with the respondent; andselecting, from a plurality of available electronic survey questions, anelectronic survey question based on response information from theplurality of previous respondents having the plurality ofcharacteristics in common with the respondent.
 15. The non-transitorycomputer readable medium as recited in claim 12, wherein theinstructions that, when executed by the at least one processor, causethe computer system to determine the plurality of electronic surveyquestions for the second portion of the dynamic electronic survey by:analyzing the social networking information to determine acharacteristic of the respondent; and generating, for the dynamicelectronic survey, an electronic survey question comprising a pluralityof answer options based on the characteristic of the respondent.
 16. Thenon-transitory computer readable medium as recited in claim 12, furthercomprising instructions that, when executed by the at least oneprocessor, cause the computer system to provide the first portion of thedynamic electronic survey by: providing, to the client device inconnection with the request, the first electronic survey questioncomprising a prompt for the respondent to log in to the socialnetworking account associated with the third-party social networkingsystem; and providing, with the prompt, an authentication tokenindicating a trusted relationship with the third-party social networkingsystem, the authentication token causing the third-party socialnetworking system to provide additional social networking information inresponse to the respondent logging in to the social networking account.17. The non-transitory computer readable medium as recited in claim 12,further comprising instructions that, when executed by the at least oneprocessor, cause the computer system to: receive, from the client deviceassociated with the respondent, a text input response to a text inputquestion of the plurality of electronic survey questions; analyze thetext input response to determine whether the text input response iseligible for posting to the social networking account; and in responseto determining that the text input response is eligible, generating asocial network post comprising the text input response to the socialnetworking account.
 18. A system comprising: at least one processor ofan electronic survey system; and a non-transitory computer readablestorage medium comprising instructions that, when executed by the atleast one processor, cause the system to: receive, from a client deviceassociated with a respondent, a request to provide a dynamic electronicsurvey to the client device, wherein the dynamic electronic surveycomprises a first portion and a second portion that is customizable;provide, to the client device associated with the respondent in responseto the request, the first portion of the dynamic electronic surveycomprising a first electronic survey question requesting access to asocial networking account associated with the respondent; access thesocial networking account associated with the respondent at athird-party social networking system in response to receiving permissionto access the social networking account according to the firstelectronic survey question, wherein the third-party social networkingsystem is separate from the electronic survey system; receive, from thethird-party social networking system, social networking informationassociated with the respondent; determine a plurality of electronicsurvey questions for the second portion of the dynamic electronic surveyto customize the second portion according to the social networkinginformation received in response to receiving the permission to accessthe social networking account as a response to the first electronicsurvey question; generate the second portion of the dynamic electronicsurvey comprising the plurality of electronic survey questions; andprovide the second portion of the dynamic electronic survey to theclient device associated with the respondent.
 19. The system as recitedin claim 18, wherein the instructions that, when executed by the atleast one processor, cause the system to determine the plurality ofelectronic survey questions for the second portion of the dynamicelectronic survey by: identifying a plurality of default electronicsurvey questions for the dynamic electronic survey; determining, basedon the social networking information, a characteristic of therespondent; and modifying, using the characteristic of the respondent,the plurality of default electronic survey questions by adding anelectronic survey question to the plurality of default electronic surveyquestions or removing an electronic survey question from the pluralityof default electronic survey questions.
 20. The system as recited inclaim 18, wherein the instructions that, when executed by the at leastone processor, cause the system to determine the plurality of electronicsurvey questions for the second portion of the dynamic electronic surveyby: analyzing the social networking information to determine acharacteristic of the respondent; and generating, for the dynamicelectronic survey, an electronic survey question comprising a pluralityof answer options based on the characteristic of the respondent.